Software development is inherently complex. Software applications often require updates after release to ensure their continued property functioning. Such updates may be periodic, or in response to a particular event, such as a defect reported by a user from the field. Currently, there are various software engineering techniques, such as modeling techniques, prototyping, and different methodologies to aid the development of software with the goal of improving the code quality. And there are many ways to gather feedback of software applications from the field using various defect tracking tools. However, the linkage between field-identified defects and a corresponding engineering fix may be lacking.
For example, the assessment of priority and urgency of field problems, as well as the assessment of priority and urgency of the corresponding fixes may be inadequate. As a result, there is no clear understanding of the code stability and vulnerability in response to field problems during various stages of software development and release process. Even if state of the art software engineering techniques are used during the code development, without a clear understanding of what the problem the software application needs to address, the code fixes may not server their purpose. Further, the lacking of the linkage between defects and a corresponding engineering fix may have cumulative effect. As more features released building on codes that lack of impact analysis, it may be more and more difficult to understand and rework the field problems.
There is a need, therefore, for an improved method or system capable of predictive analysis during automated computer software release.